Skip to content

Bump daft dependency to >=0.7.10 (fix Python 3.14 compatibility)#3323

Merged
geruh merged 1 commit intoapache:mainfrom
kevinjqliu:kevinjqliu/support-3.14
May 3, 2026
Merged

Bump daft dependency to >=0.7.10 (fix Python 3.14 compatibility)#3323
geruh merged 1 commit intoapache:mainfrom
kevinjqliu:kevinjqliu/support-3.14

Conversation

@kevinjqliu
Copy link
Copy Markdown
Contributor

Rationale for this change

Follow up to Python 3.14 support (#3299)

Daft <0.7.10 has a type-checking bug on Python 3.14 where typing.Union became a proper type, causing daft.read_iceberg() to reject Table objects with APITypeError.

In Python 3.14, typing.Union is now a class (isinstance(typing.Union, type)True). Daft's isinstance_helper checks isinstance(origin_T, type) before origin_T is Union, hitting the generic branch instead of decomposing the union args.

Are these changes tested?

Yes, tested locally

PYTHON=3.14 make install && make test-integration                             

Note, integration tests only run on Python 3.12 in CI, so this wasn't caught

Are there any user-facing changes?

Copy link
Copy Markdown
Member

@geruh geruh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!

@geruh geruh merged commit 9f20f32 into apache:main May 3, 2026
16 checks passed
@kevinjqliu kevinjqliu deleted the kevinjqliu/support-3.14 branch May 3, 2026 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants